#include <stdio.h>
/**
 * 声明和定义的区别
 * 1.编译器很笨,在main函数调用其他函数,只会往前找函数的定义
 * 2.如果找不到函数的定义,找函数的声明,如果没有声明,C编译器会有警告,C++编译器会报错;
 * 3.如果没有定义,直接调用一个不存在的函数,会报错
 * 4.如果定义没有main函数前边,那么在调用函数前需要声明,声明加不加extern是一样的,可以放在文件头部,或者调用前声明
 * 5.一个函数只能定义一次,可以声明多次(注意)
 * 6.声明的形参变量名和定义的形参变量名可以不一样
 * */

//函数的声明告诉编译器,这个函数是有定义的,只是放在别的地方
int my_strlen(char a[]);




int main(int argc, char const *argv[])
{
	int my_strlen(char b[]);
    printf("len = %d\n",my_strlen("1234567890"));
    return 0;
}

int my_strlen(char str[]){
    int i = 0;

    
    while(str[i] != '\0'){
        i++;
    }
    

    return i;
}
